package com.ruoyi.back.service.impl;

import java.util.List;

import com.ruoyi.back.domain.Chunk;
import com.ruoyi.back.mapper.ChunkMapper;
import com.ruoyi.back.service.IChunkService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 文件块Service业务层处理
 * 
 * @author luguanqing
 * @date 2021-04-12
 */
@Service
public class ChunkServiceImpl implements IChunkService
{
    @Autowired(required = false)
    private ChunkMapper chunkMapper;

    /**
     * 查询文件块
     * 
     * @param id 文件块ID
     * @return 文件块
     */
    @Override
    public Chunk selectChunkById(String id)
    {
        return chunkMapper.selectChunkById(id);
    }

    /**
     * 查询文件块列表
     * 
     * @param chunk 文件块
     * @return 文件块
     */
    @Override
    public List<Chunk> selectChunkList(Chunk chunk)
    {
        return chunkMapper.selectChunkList(chunk);
    }

    /**
     *
     * @param identifier 文件标识； chunkNumber 文件当前块数
     * @param chunkNumber
     * @param <chunkNumber>
     * @return
     */
    @Override
    public <chunkNumber> boolean checkChunk(String identifier, Integer chunkNumber) {
        Chunk chunk = new Chunk();
        chunk.setChunkNumber(chunkNumber);
        chunk.setIdentifier(identifier);
        List<Chunk> chunkList = chunkMapper.selectChunkList(chunk);
        return chunkList.size() > 0 ? true :false;
    }

    /**
     * 新增文件块
     * 
     * @param chunk 文件块
     * @return 结果
     */
    @Override
    public int insertChunk(Chunk chunk)
    {
        return chunkMapper.insertChunk(chunk);
    }

    /**
     * 修改文件块
     * 
     * @param chunk 文件块
     * @return 结果
     */
    @Override
    public int updateChunk(Chunk chunk)
    {
        return chunkMapper.updateChunk(chunk);
    }

    /**
     * 批量删除文件块
     * 
     * @param ids 需要删除的文件块ID
     * @return 结果
     */
    @Override
    public int deleteChunkByIds(String[] ids)
    {
        return chunkMapper.deleteChunkByIds(ids);
    }

    /**
     * 删除文件块信息
     * 
     * @param id 文件块ID
     * @return 结果
     */
    @Override
    public int deleteChunkById(String id)
    {
        return chunkMapper.deleteChunkById(id);
    }
}
